草庐IT

ios - Autoreleasepool 和 dispatch_async

全部标签

c# - 使用 xamarin 的移动跨平台本地化和仅 iOS 问题

我在Xamarin中有一个针对Android、iOS和WindowsPhone的项目。我使用核心(PCL库)在不同平台之间共享通用代码。我在我的核心库中添加了资源文件(.net资源).Resx,并在我的一个ViewModel中使用了以下代码片段来读取特定于文化的字符串:publicstringGetString(){//CommonResourcesisthenameofmyresourcefileResourceManagerresManager=newResourceManager(typeof(CommonResources));returnresManager.GetStrin

c# - 删除空文件夹并重新创建后出现 System.IO.DirectoryNotFoundException

我想复制一个文件夹,我想先删除目标文件夹。所以我要删除目标文件夹然后重新创建它然后复制文件。问题是我得到Anunhandledexceptionoftype'System.IO.DirectoryNotFoundException'occurredinmscorlib.dll尝试复制文件时。这是代码staticpublicvoidCopyFolder(stringsourceFolder,stringdestFolder){if(Directory.Exists(destFolder))//checkiffoldeexist{Directory.Delete(destFolder,tr

c# - 了解 WPF Dispatcher.BeginInvoke

我的印象是dispatcher会遵循优先级排队的操作并根据优先级执行操作或将操作添加到队列的顺序(如果优先级相同)直到我被告知WPFUI调度程序不是这种情况。有人告诉我,如果UI线程上的操作需要更长的持续时间,比如数据库读取UI调度程序简单地尝试执行队列中的下一组操作。我无法接受它,所以决定编写一个示例WPF应用程序,其中包含一个按钮和三个矩形,单击按钮时,矩形会填充不同的颜色。在代码隐藏中privatevoidOnFillColorsClick(objectsender,RoutedEventArgse){vardispatcher=Application.Current.MainW

c# - 使用 await-async 的最佳实践,从哪里开始任务?

我开始在我们的.NetWPF应用程序中使用await/async机制。在我的ViewModel中,我在服务上调用异步方法。我的问题是:是不是比较好直接在这个服务里面做一个大的returnawaitTask.Run(()=>{...});此服务上的所有子方法是否也是异步的,然后在其中有Task.Run?举例:1)publicclassService:IService{publicasyncTask(SomeParameterparameter){returnawaitTask.Run(()=>{CopyStuff(parameter.A);UpgradeStuff(parameter.B

c# - Resharper 可以跳过 async/await 关键字吗?

我正在尝试了解新的C#5.0异步(CTP)功能如何工作。我也使用ReSharper。但是因为它只是一个CTP,ReSharperdoesn'tsupport新关键字(async/await)并将它们突出显示为错误。这是它的样子(来自CTP样本的代码)是否可以让ReSharper暂时跳过这些词?更新我试过抢先体验计划ReSharperbuild6.0.2151.53(2011年5月10日),但没有成功。问题仍然存在,所以如果您希望它得到解决,请投票here(在彼得的回答之后)。 最佳答案 Async是一种新的语言语法,尚未成为RTM,

c# - 如何使用 async/await OnNext/OnError/OnCompleted 方法实现 IObserver?

我正在尝试为System.Net.WebSocket编写一个扩展方法,使用ReactiveExtensions(Rx.NET)将它变成一个IObserver。你可以看到下面的代码:publicstaticIObserverToObserver(thisWebSocketwebSocket,IWebSocketMessageSerializerwebSocketMessageSerializer){//Wrapthewebsocketinaninterfacethat'salittleeasiertomanagevarwebSocketMessageStream=newWebSocket

c# - 如何使用 async 和 await 正确处理

我正在尝试将代码从Thread替换为Task。sleep/延迟仅代表长时间运行的事件。staticvoidMain(string[]args){ThreadDoWork();TaskDoWork();}publicstaticvoidThreadDoWork(){using(vardispose=newThreadDispose()){dispose.RunAsync();}}publicstaticasyncvoidTaskDoWork(){using(vardispose=newTaskDispose()){awaitdispose.RunAsync();}}publicclass

c# - 带有参数的 Dispatch.Invoke( new Action...)

以前我有Dispatcher.Invoke(newAction(()=>colorManager.Update()));从另一个线程更新显示到WPF。由于设计原因,我不得不更改程序,并且我必须将ColorImageFrame参数传递到我的ColorStreamManager.Update()方法中。正在关注this链接,我将调度程序修改为:Dispatcher.Invoke(newAction((p,v)=>p.Update(v)));它编译正常,但根本无法运行。VS2010说“参数计数不匹配。”在我的ColorStreamManager.Update()方法中我有RaisePrope

c# - SMTP 异常 : Unable to read data from the transport connection: net_io_connectionclosed

我知道这个问题看起来像是许多其他问题的重复,但事实并非如此。每当我尝试通过我的Web应用程序在我的本地计算机上发送电子邮件时,都会抛出SMTPException,异常是://onthisline:SmtpServer.Send(mail);Unabletoreaddatafromthetransportconnection:net_io_connectionclosed.虽然生产代码运行良好,相同的代码、相同的连接、相同的凭据,我使用的是IP而不是别名,我试图关闭本地机器上的防火墙,但没有任何帮助解决这个问题。虽然以前在我的本地机器上工作过,但任何人都可以提示引发此问题的可能是什么问题

c# - async await是否增加上下文切换

我知道异步等待的工作原理。我知道当执行到达等待时,它释放线程并在IO完成后,它从线程池中获取线程并运行剩余的代码。这样可以有效地利用线程。但我在某些用例中感到困惑:我们应该为非常快速的IO方法使用异步方法,比如缓存读/写方法吗?它们不会导致不必要的上下文切换吗?如果我们使用sync方法,执行将在同一个线程上完成,并且可能不会发生上下文切换。Async-await是否仅节省内存消耗(通过创建较少的线程)。或者它也可以节省cpu?据我所知,在同步IO的情况下,当IO发生时,线程进入休眠模式。这意味着它不消耗cpu。这种理解是否正确? 最佳答案